#pragma once
#ifndef __TEXTURESAMPLER_H__
#define __TEXTURESAMPLER_H__

#include "Utility.h"

#include "../util/PreDeclare.h"
#include "../util/D3DCommon.h"

#include "ShaderBind.h"

namespace WindGE
{
	class TextureSampler
	{
	public:
		TextureSampler();
		~TextureSampler();

		void create(ID3D11ShaderReflection* shaderReflection, const D3D11_SHADER_INPUT_BIND_DESC& inputBindDesc);

		inline unsigned int bind_point() const { return shader_bind_->bind_point(); }
		inline unsigned int bind_count() const { return shader_bind_->bind_count(); }

	private:
		ID3D11ShaderReflection*		shader_reflection_;
		ShaderBindPtr				shader_bind_;
	};

}//end namespace WindGE

#endif	//__TEXTURESAMPLER_H__
